package com.kakarote.oa.entity.VO;

import com.kakarote.core.feign.admin.entity.SimpleDept;
import com.kakarote.core.feign.admin.entity.SimpleUser;
import com.kakarote.oa.entity.PO.OaLogRule;
import com.kakarote.oa.entity.PO.OaLogTemplateField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * @author wwl
 * @date 2022/7/4 17:26
 */
@Data
@ApiModel(value = "OaLogTemplate返前端的详情对象", description = "日志模板")
public class OaLogTemplateConfigVO {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "是否自定义0否1是")
    private Integer systemFlag;

    @ApiModelProperty(value = "模板名称")
    private String name;

    @ApiModelProperty(value = "模板icon")
    private String templateIcon;

    @ApiModelProperty(value = "提交类型 0不限制 1天 2周 3月")
    private Integer submitType;

    @ApiModelProperty(value = "提交数量")
    private Integer submitCount;


    @ApiModelProperty(value = "适用范围-部门")
    private List<Long> deptIds = Collections.emptyList();

    @ApiModelProperty(value = "适用范围-用户列表")
    private List<Long> userIds = Collections.emptyList();

    @ApiModelProperty(value = "适用范围-人")
    private List<SimpleUser> userList = Collections.emptyList();

    @ApiModelProperty(value = "适用范围-部门")
    private List<SimpleDept> deptList = Collections.emptyList();

    @ApiModelProperty(value = "是否限制字数的开关：0不限制 默认1限制")
    private Integer limitFlag;

    @ApiModelProperty(value = "limitFlag == 1 时的最小值 ")
    private Integer min;

    @ApiModelProperty(value = "limitFlag == 1 时的最大值 ")
    private Integer max;

    @ApiModelProperty(value = "填写后是否允许修改 ： 默认0能， 1不能")
    private Integer modifyFlag;

    @ApiModelProperty(value = "填写后是否允许删除：0不允许员工删除提交的日志；1仅允许删除24小时内提交的日志；2允许员工删除提交的日志")
    private Integer deleteFlag;

    @ApiModelProperty(value = "发送范围-部门ids")
    private List<Long> sendDeptIdList = Collections.emptyList();

    @ApiModelProperty(value = "发送范围-员工ids")
    private List<Long> sendUserIdList = Collections.emptyList();

    @ApiModelProperty(value = "发送人List")
    private List<SimpleUser> sendUserList = Collections.emptyList();

    @ApiModelProperty(value = "发送部门List")
    private List<SimpleDept> sendDeptList = Collections.emptyList();

    @ApiModelProperty(value = "发送上级list")
    private List<Integer> parentLevelList = Collections.emptyList();

    @ApiModelProperty(value = "发送上级UserList")
    private List<SimpleUser> parentLevelUserList = Collections.emptyList();

    @ApiModelProperty(value = "自定义抄送开关：默认0未开启， 1开启")
    private Integer customSend;

    @ApiModelProperty("描述说明")
    private String remark;

    @ApiModelProperty(value = "自定义抄送开关：默认0未开启， 1开启")
    private Integer ruleStatus;

    @ApiModelProperty(value = "表单列表")
    private List<List<OaLogTemplateField>> formList = Collections.emptyList();

    @ApiModelProperty(value = "日志规则")
    private OaLogRule logRule;

    @ApiModelProperty(value = "语言包map")
    private Map<String, String> languageKeyMap;

    @ApiModelProperty(value = "是否展示子级部门 0不需要 1 需要")
    private Integer isNeedChild;


}
